Method for Providing Subscripton-On-Demand Services

ABSTRACT

A method for providing subscription-on-demand services for video-on-demand programs within an interactive information distribution system. The method includes associating a plurality of video-on-demand programming packages as a programming bundle and identifying a number of video-on-demand programming packages within the programming bundle that a subscriber has subscribed. When the number of video-on-demand programming packages exceeds a pre-specified number of programming packages, the subscriber is automatically subscribed to all the video-on-demand programming packages in the programming bundle.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a divisional of application Ser. No. 09/970,634 filed Oct. 4, 2001, which is a continuation of U.S. Pat. No. 6,314,572, filed May 28, 1999, which claims the benefit of U.S. Provisional Application No. 60/127,747, filed Apr. 5, 1999 and which is a continuation in part of U.S. Pat. No. 6,314,573, filed May 29, 1998. The contents of each of these applications are incorporated herein by reference in their entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an interactive information distribution system such as a video-on-demand (VOD) system. More particularly, the present invention relates to a method and apparatus for providing subscription-on-demand (SOD) services dependent subscription services and contingent services for such an interactive information distribution system.

2. Description of the Background Art

Recent advances in digital signal processing techniques and, in particular, improvements in digital compression techniques, have led to a plethora of proposals for providing new digital services to a customer's home via existing telephone and coaxial cable networks. For example, it has been proposed to provide hundreds of cable television channels to subscribers by compressing digital data and digital video, transmitting the compressed digital signals over conventional coaxial cable television channels, and then decompressing the signals in the subscriber's receiver. Another proposed application for this technology is a video-on-demand (VOD) system in which a subscriber communicates directly with a video service provider via telephone lines to request a video program from a video library and the requested video program is routed to the subscriber's home via telephone lines or via coaxial cable television cables for immediate viewing. Other proposed VOD systems use a frequency multiplexing technique to enable control information for a subscriber's receiver to be transmitted through a cable network back to an information server. Such a system permits a bi-directional communications over a single network.

In most of these information distribution systems, graphical menus are displayed upon the subscriber's television and using a remote control device t a subscriber selects a desired program for viewing. One such graphical user interface based VOD system is disclosed in U.S. Pat. No. 5,619,249, issued Apr. 8, 1997, and hereby incorporated herein by reference, wherein a viewing station including a television monitor and a high-power graphics computer are used to generate a graphical user interface. The viewing stations are in communication with a telecasting facility (i.e., service provider head end equipment) that transmits selected video information as requested by the viewing station. The graphics computer within the viewing station locally stores all the executable programs that generate the graphical interface, control the graphical interface t and interact with the subscriber. The graphics computer not only enables a subscriber to select programming to view, but also enables a non-subscriber to become a subscriber by interacting with certain interface screens.

Although having such a high-power computer within the viewing station is beneficial in providing nearly instantaneous responsiveness to the subscriber's and non-subscriber's inputs, such a high-power computer system is economically unfeasible to utilize as subscriber equipment for a large number of subscriber homes. As such, set top terminals or television receivers containing built-in high-power computers are generally not feasible as a commercial product.

Additionally, prior art VOD systems have only contemplated selling services on a program-by-program basis. For example, in the prior art systems, a viewer navigates through various menus to arrive at a menu containing a program title that the subscriber desires to view. The subscriber then requests the program and the program is supplied to the subscriber's display. The subscriber's account is then billed for the order of that particular program. As such, the concept of subscriptions extends only to the general access to content and an a la carte purchase of a unit of content. In this respect, the consumer's experience is nothing more than the transformation of the video store experience to the customer's home; the consumer is purchasing the ability to access a program for a prescribed period of time. Such systems use the term “subscriber” to represent someone who has received an installation of the subscriber equipment to enable a technically different class of service to be accessed, namely, digital or analog/digital services instead of the purely analog telecasts of conventional cable television. Consequently, the “subscription” as used in the prior art refers to the capability of selecting from a list a single unit of content such as a movie or video. Heretofore, VOD systems have not had a capability of packaging programming at a single price such that a system subscriber can also be a program package subscriber to enable the package subscriber to view any program in the subscribed package without further cost. Current systems do not have the capability of causing particular package access to be dependent upon subscriptions to other packages or contingent upon a particular type or level of service.

Therefore, there is a need in the art for a method and apparatus for providing subscription-on-demand services, dependent subscription services and contingent services for an interactive information distribution system. There is also a need to provide these services using equipment having a significant portion of the computing power contained within a service provider head end system such that a terminal for the subscriber's home can be manufactured relatively inexpensively.

SUMMARY OF THE INVENTION

A method for providing subscription-on-demand services for video-on-demand programs within an interactive information distribution system. The method includes associating a plurality of video-on-demand programming packages as a programming bundle and identifying a number of video-on-demand programming packages within the programming bundle that a subscriber has subscribed.

The interactive information distribution system tracks the number of video-on-demand programming packages within the programming bundle that the subscriber has subscribed, and maintains a record of all services thereof. When the number of video-on-demand programming packages exceeds a pre-specified number of programming packages, the subscriber is automatically subscribed to all the video-on-demand programming packages in the programming bundle.

BRIEF DESCRIPTION OF THE DRAWINGS

The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:

FIG. 1 depicts a high level block diagram of an interactive information distribution system containing the present invention;

FIG. 2 depicts a block diagram of an illustrative subscriber's terminal within the system of FIG. 1;

FIGS. 3A, 3B, 3C and 3D together depict a flow diagram of a routine representing the software that is executed within the system of FIG. 1 to provide the subscription-on-demand services of the present invention;

FIG. 4 depicts an illustrative menu structure for selecting a subscription-on-demand service;

FIG. 5 depicts a menu structure used to select a subscription item that is a subset of the subscription-on-demand service;

FIG. 6 is a menu depicting titles of programming within a specific category within said subscription on demand service;

FIG. 7 is a title information screen;

FIG. 8 is a menu that allows a consumer to subscribe to a selected subscription-on-demand service;

FIG. 9 is a menu that provides an input structure for a master PIN number.

To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.

DETAILED DESCRIPTION

The invention is a method and apparatus that provides a subscription-on-demand (SOD) service for an interactive information distribution system. Throughout the following description the term “SOD service” is defined as the capability of a consumer to subscribe to packages of programming at a pre-defined price and those programs within a subscribed package can be viewed, on-demand, without further cost to the subscriber. As such, a consumer (i.e., a viewer having a system account number) can request, through manipulation of a graphical user interface, to subscribe to a package of programming, i.e., children's programming r at a fixed price. Thereafter r any program within the package can be viewed at anytime, i.e., on-demand, without further charge. Optional viewing time restrictions and the like can be implemented to limit package content viewing only during predefined time periods or, if viewing outside the time period is desired, an additional fee is charged to the subscriber's account. Additionally, dependent subscription services are subscriptions that are accessible (dependent) upon a subscriber having previously subscribed to other SOD services or cable services and contingent services are services that are only available to subscribers that have only subscribed to particular other services.

Although the SOD service of the present invention can be implemented and executed using a number of different types of information distribution systems, the preferred embodiment is used in combination with the interactive information distribution system hardware described in commonly assigned U.S. Pat. No. 6,253,375, issued Jun. 26, 2001, and hereby incorporated herein by reference in its entirety. However, the specific hardware arrangement is considered illustrative of the type of system with which the invention is used. Use of the invention within other information distribution system hardware arrangements that facilitate distributed computing resources between the service provider head end and the subscriber's terminal is considered within the scope of the invention.

FIG. 1 depicts a high level block diagram of the illustrative information distribution system 100 that incorporates the present invention. The system 100 contains service provider equipment 102, a communications network in the form of a cable transport subsystem 104 and subscriber equipment 106 _(n), where n is an integer greater than 0. The service provider equipment 102 contains an information server 108 which is typically a parallel processing computer containing at least one central processing unit 110 and associated memory 112. U.S. Pat. No. 5,671,377, issued Sep. 23, 1993 and U.S. Pat. No. 5,579,527, issued Nov. 26, 1996, which are hereby incorporated herein by reference, describe a server that is capable of operating in the capacity of information server 108. The server 108 interacts with the data storage device 114 (e.g., a disk drive array) that generally stores the subscriber content (e.g., video data) that will be recalled and transmitted to the subscriber equipment 106. Additionally, within the service provider equipment 102 is a video session manager 122 that provides session control of the information flowing to and from the server 108. The video session manager 122 contains its own central processing unit (CPU) 124 and associated memory 126 that provides functionality for the graphical user interfaces through which the consumer interacts with the system. The CPU 124 is part of a session control manager 125 that controls a plurality of modems 127 that facilitate communication with the subscriber equipment. Other subsystems of the service provider equipment include a network manager 142 and a back office subsystem 144. These subsystems maintain certain databases of information that enable the system to accurately control system access, subscription package definitions, and subscriber/consumer profile and billing. The network manager 142 is coupled to a customer management system (CMS) 150 within the cable operator equipment 152. As such, the network manager maintains a database 154 containing specific customer subscription information pertaining to a customer's type of service (e.g., basic cable, extended basic cable, and the like), level of service and premium channel subscription information. This database is used to facilitate dependent subscriptions and contingent services.

The information server 108 is coupled to the video session manager 122 via data path 116, synchronization clock path 118, and control path 120. The server 108 provides data streams that are destined for consumers on path 116 and a synchronization clock on path 118. The specific data streams are provided in response to requests for information (e.g., menu applets, video programs, and other content material) from the video session manager 122 on path 120. These data streams are packetized and modulated onto a carrier that is compatible with the transmission requirements of the network 104.

The video session manager 122 accomplishes all of the transmission interface requirements of the system 100 as well as provides graphical user interface support. Specifically, the video session manager 122 is coupled through the modems 127 to subscriber equipment via a forward information channel 132, a forward command channel 133 and a back channel 134. All three of these channels are supported by the cable transport subsystem 104. The video session manager 122 contains a modulator for modulating the server data streams onto one or more carrier frequencies for transmission on the forward information channel 132. Additionally, modems 127 within the video session manager 122 send control information via the forward command channel and receive control information via the back channel. Moreover, a conventional cable television signal source 128 is optionally coupled to the forward information channel via a signal coupler 130. In operation, the video session manager 122 responds to requests from the subscriber equipment 106 for interactive menus and data streams by requesting the server 108 to provide such information, then communicating that information to the requesting subscriber equipment 106. The video session manager 122, as discussed below, also ensures that the subscriber equipment 106 is authorized to receive the requested information.

The cable transport subsystem 104 can be anyone of a number of conventional broad band communications networks that are available such as a fiber optic network, a telephone network, existing cable television network and the like. For example, if the network is a hybrid fiber-coax network, the transport technique used in both forward channels may be modeled after the moving pictures expert group (MPEG) transport protocol for the transmission of video data streams. In general, the transport mechanism for both the forward channels and transport information to the subscriber equipment must be able to carry unidirectional, asynchronous packetized data such as that defined in the MPEG video and audio signal transmission protocol, and the like. There are a number of such transport protocols available.

The subscriber equipment 106 receives the requested data streams from the forward information channel, demodulates the streams and processes them for display on the display device 140 (e.g., a conventional television). In addition, the terminal 136 accepts commands from a remote control input device 138 or other input device to facilitate consumer interaction with the system. These commands are formatted, compressed, modulated, and transmitted through the network 104 to the video session manager 122.

Typically, this transmission is accomplished through the back channel 134. These commands are preferably transmitted through the same network used to transmit information to the subscriber equipment. However, the back channel coupling the subscriber equipment to the server may be a separate network, e.g., a forward information channel through a television cable network and a back channel through a telephone network. The telephone network could also support the forward control channel. The video session manager 122 interprets each command set from the terminal through the back channel and instructs the information server to perform certain functions to implement the consumer/subscriber request.

FIG. 2 depicts a block diagram of the terminal 136 which contains a transceiver 200, a central processing unit (CPU) 212 and a display driver 222. Of course, the functionality of the terminal 136 can be embedded within a single consumer electronics product such as a receiver circuit within a television. As such, the description of a separate terminal should be considered illustrative of the type of subscriber equipment that may be used to implement the present invention.

Within the set top terminal 136, the CPU 212 is supported by random access memory (RAM) 220, read only memory (ROM) 218 and various support circuits 216 such as clocks, power supply, and infrared receiver and the like. The transceiver 200 contains a diplexer 202, a back channel transmitter 208, an information channel receiver 204, a command channel receiver 210, an information decoder 206, a conventional television signal receiver 224, and a multiplexer 226. The diplexer 202 couples the three channels carried by a single cable within the network to the transmitter and receivers of the terminal. Each receiver 204 and 210 contains a tuner, amplifiers, filters, a demodulator and a depacketizer. As such, the receivers tune, downconvert, and depacketize the signals from the cable network in a conventional manner. The information channel receiver 204 contains a conventional QAM demodulator such as a model BCM3115 manufactured by the Broadcom Corporation. Other such demodulators are well known in the communications art and could be used in this application. However, this particular QAM demodulator also contains a built in “out-of-band” QPSK demodulator for handling command and control data carried by the forward command channel. As such, a single integrated circuit demodulator processes consumer/subscriber requested information (audio and video) as well as command data.

The decoder 206 processes the data packets carrying consumer/subscriber requested information produced by the QAM demodulator into useable signals for the end user display, e.g., television, home studio, video recorder and the like. The decoder 206 is coupled to a dynamic random access memory (DRAM) to facilitate decoding of the data packets and processing of command programs, as shall be discussed below. The signals for display are conventionally processed by a display driver 222 to produce composite video as well as conventional television signals, e.g., modulated onto channel 3 or 4 using the NTSC standard modulation.

The conventional cable signal receiver 224 contains a tuner and an analog (NTSC) demodulator. A multiplexer 226 couples the demodulated analog or decoded video signal to the display driver 222. Of course, the NTSC demodulator can be replaced with a PAL or SECAM standard demodulator, as needed.

The demodulated QPSK signal provides command and control information to the CPU 212 for generating certain graphics and control information regions upon a television screen. The CPU is, for example, a model 68302 processor manufactured by Motorola. This processor, operating in combination with the decoder 206 as well as a continuously available video signal from the information channel, produces screen-displayed buttons, icons and graphical regions with which a consumer interacts using the remote control. Without the video signal, the terminal 136 does not produce any display, i.e., the displays are actively generated in real-time as needed to facilitate certain navigational and interface functions.

Specifically, a joy stick on the remote control 138 selectively highlights certain predefined regions on the television screen. To perform such highlighting, a reference region is always highlighted when a menu is first displayed. From that reference region, direction vectors produced by the joy stick are interpreted by the CPU 212 to highlight a region lying in the direction in which the joy stick was moved. When a desired selectable icon is highlighted, the consumer depresses a “select” key on the remote that sends an infrared signal to an infrared receiver (a support circuit 216). This receiver sends the select command to the CPU 212 for interpretation. The selected region is generally associated with a function. If the function is a request for specific information or requires a change in the menu, the CPU 212 formats the command and sends it through the back channel transmitter 208 for transmission to the video session manager 122. If the command is a function that is handled locally such as volume control, the CPU 212 implements the function within the terminal 136.

Since the session control commands are implemented by the video session manager 122 and not the terminal 136 alone, the number of available session control commands is infinite. Utilization of such distributed computing resources enables the most powerful processing to be centrally located in the video session manager 122 and the CPU in the terminal 136 can be of relatively limited power. Consequently, all the subscriber terminals 136 that are connected to a service provider head end 102 can rely on the computing power of the video session manager 122. For example, the CPU in the video session manager 122 is a model 68040 processor that is available from Motorola Inc. A particular hardware implementation of the video session manager is described in detail in commonly assigned U.S. Pat. No. 6,253,375, which is hereby incorporated by reference in its entirety.

Each command menu is implemented by executing an “applet”, as described below. The applets control both information sessions, e.g., the presentation of video to the television screen, and navigator functions, e.g., the menus that facilitate selection of a video program as well as subscriber on demand services. As such, particular commands include, but are not limited to, information or menu navigation commands, movies start at beginning, movies start at the middle, play, stop, rewind, forward, pause and the like. These presentation and navigation control commands are sent via a back channel transmitter 208 using binary phase shift key (BPSK) modulation. Additionally, the CPU in the subscriber terminal implements certain local commands such as increment or decrement the volume, channel change and on/off.

The invention is implemented as one or more interrelated “applets” which, when taken together form the interactive graphical user interface that facilitates the SOD service of the present invention. The applets are transmitted for the most part, to the terminal via the forward information channel. Certain information used by particular applets is transmitted to the terminal via a data stream propagated through the forward command channel. As such, the data stream carrying the applet is demodulated, the applet extracted and the applet's information decoded prior to execution that displays a menu on the display device. The detailed process by which an applet is downloaded and used to produce a menu is disclosed in commonly assigned U.S. Pat. No. 6,208,355, which is hereby incorporated herein by reference in its entirety.

FIGS. 3A, 3B and 3C together depict an overall flow diagram of an illustrative implementation of the SOD service 300 as executed on both the video session manager CPU and the subscriber terminal CPU. FIGS. 3A and 3B are divided into three columns, namely: a subscriber action column 302, a subscriber equipment process 304, and a service provider equipment process 306. FIGS. 4-9 depict various menu screens that a SOD service subscriber or a non-SOD service subscriber (i.e., a general consumer of cable services) would be presented with while either accessing SOD services or becoming a new subscriber for SOD services. For the following description, it is assumed that the consumer is already a subscriber of general cable system services (i.e., the consumer has an account number) and now desires to subscribe to additional SOD services or utilize previously subscribed SOD services. To provide a comprehensive understanding of the SOD services, the various menu screens of FIGS. 4-9 are referred to as the flow diagram spanning FIGS. 3A, 3B and 3C is described below.

The process 300 begins at step 308 and continues to step 310. At step 310, the terminal recalls a terminal identification number and a PIN from memory and sends the number to the service provider equipment. As described in commonly assigned U.S. Pat. No. 6,163,272, in order to provide security and limit programming access, each terminal of the interactive information distribution system is generally assigned a terminal identification (TID) number or code, each subscriber household account has a defined master personal identification number (master PIN), and each subscriber in a household may have a personal identification number (subaccount PIN). The TID provides security to identify whether a subscriber terminal is permitted access to the system at all, while the master PIN and subaccount PIN define the level of service that a given subscriber is permitted to access. In addition to the TID, a master PIN may be associated with a subset of subaccounts each having an associated PIN. The assignment and utilization of master PIN and subaccount PINs is described in commonly assigned U.S. Pat. No. 6,163,272, which is hereby incorporated herein by reference in its entirety. In general, the terminal identification number and both the master and the subaccount PINs are used in providing the SOD service of the present invention.

At step 312, the video session manager 122 validates the PIN and TID authorization by comparing the transmitted TID and PIN to a PIN and TID stored in the video session manager memory. If the transmitted TID and PIN are not in the memory, the video session manager sends, at step 314, a menu applet that creates a display to inform the subscriber that the PIN or TID is invalid. If the TID and PIN are found to be valid, at step 316, the video session manager sends a menu applet to the terminal that will permit access to additional system programming.

To facilitate selection of an SOD service, a menu is presented at step 320 to the subscriber on their television screen. As illustratively shown in FIG. 4, the menu structure may be defined by a grid or list or, in the example shown, a pie-shaped menu 400. Various services may be selected by highlighting and selecting anyone of the “pie” sections 402, 404, 406, or 408. Whenever a menu selection is made, the system downloads an applet corresponding to that section and either launches a new menu that provides further options for the subscriber or displays a selected program (e.g., starts playing a movie).

To select SOD services, the user highlights section 408 that may be, for example, a children's program SOD service known as “OnSet Kids” (OnSet is a trademark of DIVA Systems Corporation of Menlo Park, Calif.). In such a service, a user can subscribe to unlimited access to any of the children's programs offered under the subscription package “OnSet Kids”. More generally, the subscription packages may consist of a collection of programs (or a collection of subscription packages) having a common point of interest, e.g., sports, cooking, travel, automotive, educational, children's programming, home improvement, soap operas, network prime time television broadcasts, music videos, and the like. Subscription packages are alternatively customized by a subscriber at the time of subscription.

For the illustrative menu example of FIG. 4, the subscriber is assumed to have selected, at step 322, the SOD service of section 408 that is associated with the children's programming subscription. Once a section is selected, the terminal sends, at step 324, an option request corresponding to the selected menu option to the session manager 122.

At step 326, the system determines whether the consumer/subscriber has a subscription for the selected service and/or has the base subscription or service for a dependent/contingent service.

FIG. 3D depicts the process used to determine Subscription authorization. At step 384, the process queries whether the subscriber is a subscriber of the selected SOD service. To determine such subscription service authorization, the account number of the subscriber is compared to a subscription account number database in the network manager. If the subscriber is authorized to access the selected service (the SOD service of option 408 in FIG. 4), the process proceeds to point B of FIG. 3B. Alternatively, if authorization for the selected service is not found, the process proceeds to step 386. At step 386, the process queries whether the selected SOD service is a dependent or contingent service. If the query of step 386 is negatively answered, the process proceeds to point A in FIG. 3C wherein the subscriber is allowed to subscribe to the Selected SOD service. However, if the selected service is a contingent or dependent service I the process proceeds to step 388.

At step 388, the account number of the subscriber is compared to information in the network manager database regarding the subscriber's cable and other services (e.g., type of cable service, level of cable service, number of premium cable channels, the type of premium cable channels, type of other SOD services and the like). If the subscriber is found to be a current subscriber of the base service or subscription, the process proceeds to point A of FIG. 3C to enable the subscriber to subscribe to the selected SOD service. However, if the subscriber is not a subscriber of the base service or subscription, then the process proceeds to point A of FIG. 3C to enable the subscriber to subscribe to the base service or subscription. At step 328, the video session manager sends an applet to the terminal to enable the terminal to produce a category menu at step 330. FIG. 5 depicts an exemplary category display 500 for a children's program subscription, e.g., OnSet Kids. The depicted menu 500 shows a list 502 of selectable categories. Each category in the list 502 represents a particular class of programming, i.e., programming that is related in some way.

At step 332, the subscriber selects a category within the category menu and, at step 334, the terminal sends a category request to the video session manager. After receiving a category selection in step 336, the video session manager sends an applet for a title menu to the terminal. At step 338, the terminal decodes and executes the applet to display a title menu. FIG. 6 depicts an exemplary menu list 600 having a list of titles that are associated with the selected category, in this case, Sesame Street.

For some SOD services, category menus may not be used and the process would move directly from point B to step 336. For example, if the requested SOD service is a video-on-demand service that is related to a particular premium cable channel, once the system identifies the subscriber as a subscriber to the underlying service, e.g., a premium cable channel, then the subscriber is provided with the titles of the movies that are available on-demand from that premium channel. Thus, the title menu is sent in step 336.

When the subscriber selects a title in step 340, the title selection, e.g., a program identification (PID), is sent to the video session manager. After receiving a title selection, the video session manager determines, at step 344, the title price. The price of the programming selected from the title menu is determined by the video session manager sending a price request to the network manager. The network manager performs a search of its pricing database and returns a price of either zero or non-zero. A non-zero price is returned, for example, if the subscription is limited to a restricted time window or the subscription is a dependent subscription that is not available to customers that do not meet a particular service level or type criteria. For example, the OnSet Kids children's programming subscription service may be limited to viewing from 6 A.M. to 6 P.M. and, the request is being made outside of that time window. As such, any request by a subscriber outside of the window is charged a nominal fee, i.e., the subscriber is provided an “a la carte” menu as described below with respect to step 354.

If the price that is returned to the video session manager is zero dollars (the query of step 346 is affirmatively answered), then the video session manager sends, at step 348/an applet for a display of a title information screen. At step 350, the terminal displays a title information screen indicating the viewing price is zero dollars and also provides the subscriber with a start option so that the subscriber may commence viewing of the program. FIG. 7 is an exemplary title information screen 700 showing information about the program that was selected as well as providing a start option as shown as button 702. Additionally, a preview clip may be executed and depicted for the user by selecting the icon 704.

If, however, the network manager returns a non-zero price to the video session manager, then the video session manager sends, at step 352, an applet for a second type of title information screen. At step 354, the terminal creates a screen informing the subscriber of the reason for the non-zero price and also presents the user with an “a la carte” purchase option. The subscriber will then be able to purchase and view the a la carte selection or return to a previous menu.

If, at step 326 of FIG. 3A, the service provider equipment determines that the consumer does not have an active subscription, e.g., does not have a Subscription to the selected Subscription package or to an underlying service to enable a dependent or contingent service, the process proceeds along path A to step 358 of FIG. 3C. At step 358, the video session manager sends an applet for a subscription information screen. The subscription information screen applet is decoded and executed by the terminal at step 356 to create a subscription information screen. The subscription information screen describes the subscription offering to the non-subscriber and then presents a sign-up screen through which the user can interactively subscribe for the service. Alternatively, the subscription information screen may only inform the subscriber that the SOD service that was requested is a dependent or contingent service and that the cable system operator must be contacted to subscribe to the base service.

FIG. 8 depicts an exemplary screen 800 for interactively requesting a subscription-on-demand service, i.e., offers the subscriber an option to purchase a subscription. If the customer is required to purchase a premium cable channel to facilitate a dependent service, then the screen would offer the customer an opportunity to subscribe to the premium channel. If the subscriber declines (step 360) the subscription offer, the terminal then sends, at step 362, a refusal signal to the session manager. In response to the refusal, the process returns (step 364) to point C prior to step 316 in FIG. 3A. If, however, a system subscriber elects to purchase a subscription, the terminal sends, at step 366, an acceptance signal. In response to the acceptance signal, at step 368, the session manager requests a master PIN as a confirmation of the subscriber's capability to make a subscription purchase. As such, a person having only a subaccount PIN is not capable of subscribing to a subscription-on-demand service or a service that permits dependent services. To facilitate the subscription confirmation r the session manager sends an applet for a master PIN request screen. At step 370, the terminal decodes the applet and displays the master PIN request screen.

FIG. 9 depicts an exemplary master PIN confirmation entry screen 900. The screen 900 contains a field 902 where the subscriber can enter a master PIN. The master PIN is entered at step 372 and, at step 374, the master PIN is sent to the session manager. After the master PIN is received, at step 376, the video session manager verifies the master PIN as valid. To verify the validity of the PIN, the video session manager compares the entered PIN to the PIN in its memory. If the master PIN is invalid, the subscriber is given one or more further opportunities to correctly enter the master PIN, then the process proceeds to step 378 where the process continues at point C prior to step 316 of FIG. 3A. If the PIN is valid, the routine proceeds to step 380 where the video session manager updates the subscription database stored in the network manager with the account information of the new subscriber to the selected subscription service. If the subscriber has selected a new service or subscription, e.g., an additional premium cable channel, the subscriber's information may also be sent to the cable operator's customer management system. After updating the subscription database, the routine updates, at step 382, the administrative system such that the interactive information distribution system's billing system is updated with the new subscriber's account information. Once subscribed, the process proceeds from step 382 to step 328 of FIG. 3B where the system provides the new subscriber an opportunity to utilize the newly subscribed service.

The present invention implements subscription-on-demand services and dependent services by having the computer resources needed for the service to be distributed between the subscriber equipment and the service provider equipment. To implement the service, the terminal need only decode and execute simple applets to produce various interactive displays and send simple information requests. The service provider equipment performs the significant computing for menu generation, security handling, and subscription processing. As such, the terminal can be relatively inexpensive, making the overall system economically feasible.

The interactive structure of the inventive subscription-on-demand system enables flexible subscription packages to be created. For example, a hierarchical subscription package structure can be produced that has various levels of access. The following is an illustrative example of a hierarchical package structure for sporting events:

SPORTS FOOTBALL COLLEGE PRO BASKETBALL COLLEGE MENS WOMENS PRO MENS WOMENS GOLF HOCKEY and so on

Under this hierarchy, a consumer may subscribe to SPORTS and receive access to all sports programming available for a predefined price. However, those that desire only to have access to, for example, men's professional basketball would subscribe only to that particular programming selection at a predefined price. Such a hierarchical arrangement can be divided into any number of levels, e.g., specific teams, or grouped into various packages, e.g., all professional sports. Additionally, the invention can be expanded to enable consumers to create their own personal SOD service by selecting their favorite programs or program classes for grouping into an SOD package such that a single price can be paid to access all the selected programming over a predefined period of time, e.g., a predefined price for accessing the selected programming for a month. As such, dynamically defined subsets of content can be created as the personal SOD packages. The programming is selected through manipulation of interactive menus (generated using menu applets as described above) and the program identification codes (PIDs) for the selected programming are stored in the subscription database with the consumer1s account number (and/or PIN or TID, if needed). As such, the subscriber can access their personal SOD service at any time and without further payment. At the end of the period, the service would be renewable such that the subscriber would not have to reenter the selection at the end of each period.

Additionally, the use of dependent subscriptions also permits the subscriptions to be bundled into fixed packages containing a plurality of services, e.g., N services. As such, when a subscriber subscribes to a specified number of subscription services, e.g., M subscriptions, out of a total N services, the subscriber is provided the remaining services for free (or at a discounted rate). The invention tracks the subscriptions of each subscriber and when a certain number is obtained in, for example, a particular category (e.g., children's programming) the remaining children's programming services are made available to the subscriber for no extra cost or for a discounted fee. As such, the system performs as if the subscriber specifically subscribed to the additional services even though they have not specifically done so. To facilitate the bundled service, the system updates the subscriber database in the network manager as well as the customer management system in the cable operator equipment to maintain a record of all the services and subscriptions that any given subscriber presently uses.

Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein those skilled in the arts can readily devise many other varied embodiments that still incorporate these teachings. 

1. A method for providing subscription-on-demand services for video-on-demand programs within an interactive information distribution system comprising the steps of: associating a plurality of video-on-demand programming packages as a programming bundle; identifying a number of video-on-demand programming packages within said programming bundle to which a subscriber has subscribed; and in response to said identified number exceeding a threshold number, subscribing said subscriber to additional video-on-demand programming packages in said programming bundle.
 2. The method of claim 1, wherein the subscriber is automatically subscribed to all of the video-on-demand programming packages in said programming bundle.
 3. The method of claim 1, wherein said identifying step comprises: tracking the number of video-on-demand programming packages within said programming bundle subscribed to by the subscriber; and maintaining a record of services subscribed to by the subscriber.
 4. The method of claim 3, further comprising the step of updating a subscriber database in response to changes in the number of video-on-demand programming packages within said programming bundle subscribed to by the subscriber. 